# 服务器基础代码案例

"""
思路实现拆解
tcp基础套接字
"""
import socket

# 创建socket对象
socket_server = socket.socket()
# 绑定ip和端口，表明是服务端
socket_server.bind(('127.0.0.1', 8888))
# listen方法内接受一个整数传参，表示接受的连接数量，
# 可不填那就表示Python会使用一个默认值，通常是 socket.SOMAXCONN，这是一个由操作系统定义的合理最大值
socket_server.listen()
print(f"服务端已开启监听，正在等待客户端连接……")

conn, addr = socket_server.accept()
print(f"接收到了客户端的连接，客户端的信息为：{addr}")

# 批量实现的功能与时间会有的
while True:
    data: str = conn.recv(1024).decode("utf-8")
    print(f"客户端发来的信息是：{data}")

    msg: str = input("请输入你要回复的信息：")
    # 设置退出指令
    if msg == "exit":
        break
    # encode将字符串编码为字节数组对象
    conn.send(msg.encode("utf-8"))

conn.close()
socket_server.close()